void main() {}

//使用abstract声明为抽象类
abstract class BaseActivity {
  //没有实现体的方法就是抽象方法，不需要abstract修饰
  void layout();

  void initView() {
    print('初始化');
  }
}

class HomeActivity extends BaseActivity {
  @override
  void layout() {
    print('layout home');
  }
}

/// dart中定义接口不使用interface，而是普通类与抽象类都可以作为接口被实现，也是使用implements进行实现
abstract class BaseFragment {
  String title;

  void printInfo();
}

//实现抽象类，需要覆盖抽象类的属性与抽象方法
class HomeFragment implements BaseFragment {
  @override
  String title;

  @override
  void printInfo() {
    print('home');
  }
}
